<html>
<head><meta charset="utf-8"><title>Android CI Docker updates · t-release · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/index.html">t-release</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/Android.20CI.20Docker.20updates.html">Android CI Docker updates</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="230355819"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/Android%20CI%20Docker%20updates/near/230355819" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Daniel Silverstone <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/Android.20CI.20Docker.20updates.html#230355819">(Mar 15 2021 at 14:44)</a>:</h4>
<p>Hi all,</p>
<p>I was trying to do a <code>rustup</code> release over the weekend and hit an issue where the CI docker for Android releases is on NDK/SDK level 14 for 32bit platforms (Android 4.0) but <code>rustup</code> now depends on new enough bits of the ecosystem that we need NDK/SDK level 21 (Android 5.0) which is already needed for 64bit platforms.  Is there any chance we might be able to update the dockers to level 21 across the board?  I did a test build on Saturday and managed to build both the Rust CI docker at level 21, and then <code>rustup</code> using that for 32bit arm android.</p>
<p>The headlines here are:</p>
<ol>
<li>Minimum SDK level rising to 21 means 32 bit platforms now need Android 5.0 or better</li>
<li>Anyone using those dockers (e.g. <code>rustup</code>) will need to update paths from <code>14</code> to <code>21</code> in their use of the dockers.</li>
</ol>
<p>How receptive to a PR to make this change would t-release be?  Would this have effects beyond the above noted and if so would they require an RFC or similar to get consensus?  This is the first time I've tried to move the MSV for something this core to the project.  Android builds are (IIRC) only tier 2 at "best" so hopefully this won't be too contentious.</p>
<p>Thanks,</p>
<p>D.</p>



<a name="230356079"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/Android%20CI%20Docker%20updates/near/230356079" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Daniel Silverstone <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/Android.20CI.20Docker.20updates.html#230356079">(Mar 15 2021 at 14:45)</a>:</h4>
<p>For reference, the changes which require this update included Tokio 1.0 which ends up depending on <code>epoll_create1</code></p>



<a name="230370270"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/Android%20CI%20Docker%20updates/near/230370270" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/Android.20CI.20Docker.20updates.html#230370270">(Mar 15 2021 at 16:01)</a>:</h4>
<p>I think there was an open PR about this or so recently (like, 3-4 months)</p>



<a name="230370647"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/Android%20CI%20Docker%20updates/near/230370647" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/Android.20CI.20Docker.20updates.html#230370647">(Mar 15 2021 at 16:02)</a>:</h4>
<p>I don't think we have anyone who is sufficiently an expert to say, but iirc 21 is going to exclude a pretty sizeable amount of people</p>



<a name="230475847"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/Android%20CI%20Docker%20updates/near/230475847" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Daniel Silverstone <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/Android.20CI.20Docker.20updates.html#230475847">(Mar 16 2021 at 08:28)</a>:</h4>
<p>Another option could be to include the NDK/SDK level 21 content as well as the level 14 content.  People who are using level 14 for tooling such as rustc/cargo etc. continue to be able to, but rustup can move to level 21 and thus unblock the release.  I'll trial having both levels present in the docker today if you think that's plausible.</p>
<p>According to <a href="https://www.statista.com/statistics/271774/share-of-android-platforms-on-mobile-devices-with-android-os/">https://www.statista.com/statistics/271774/share-of-android-platforms-on-mobile-devices-with-android-os/</a> just under 6% of deployed android (1H 2020) would be excluded from <code>rustup</code> if we did that. (Down from just under 11% the year before,  just under 12% in 2H 2018).  Thus we're talking about excluding a likely 5% or smaller proportion of people who want to run Rust <em>on</em> Android which is most likely a tiny proportion of our true userbase.  If it weren't for the fact that removing platforms from <code>rustup</code> was a pain, I'd just consider removing the android-hosted <code>rustup</code> for 32bit platforms instead.</p>



<a name="230484975"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/Android%20CI%20Docker%20updates/near/230484975" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Daniel Silverstone <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/Android.20CI.20Docker.20updates.html#230484975">(Mar 16 2021 at 09:52)</a>:</h4>
<p>After much dockering, I can confirm that simply <em>providing</em> the additional SDK/NDK levels in the docker is sufficient for <code>rustup</code> to then adjust to use them, without altering the default of the level 14 SDK/NDK.  I shall file a PR which adds those to the docker.</p>



<a name="230861576"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/Android%20CI%20Docker%20updates/near/230861576" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Thiébaud Weksteen <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/Android.20CI.20Docker.20updates.html#230861576">(Mar 18 2021 at 13:22)</a>:</h4>
<p>Just sharing <a href="https://github.com/rust-lang/release-team/issues/9">https://github.com/rust-lang/release-team/issues/9</a> again on that topic. It seems this question is going to keep coming until a decision has been made.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>